1. Technical Field
The present invention relates in general to an improved method and system for managing communications networks. In particular, the present invention relates to a method and system for providing enhanced data flow control within a telecommunications switch. More particularly, the present invention relates to utilizing a backpressure signal to initiate balancing of buffer occupancies among input sections of a data switch. Still more particularly, the present invention provides a method and system for computing delay intervals that vary inversely with input buffer occupancy, and delaying resumption of data transmission from the input buffers in accordance with the computed delay intervals, such that internal switch congestion may be minimized.
2. Description of the Related Art
Switching technology is utilized to make current telecommunications systems faster and more flexible, while at the same time facilitating migration to faster networks. The ever increasing performance and speed demands by users has resulted in many networks experiencing continual slowdowns and bandwidth shortages. Switching directs network traffic in a very efficient manner—sending information directly from the port of origin to only the destination port. In this manner, switching technology increases network performance, enhances flexibility and eases additions or rearrangements to a network. Switching provides in part, a means for managing network traffic by reducing transmission media sharing. Network traffic is confined to the segment for which it is destined, be it a server, workgroup, or individual end-station.
Packet switching is a technique utilized in data networks such as Ethernet LANs and ATM systems. FIG. 1 illustrates the architecture of a conventional generic output-queueing packet switch. In conventional switches such as switch 100 of FIG. 1, the data storage capacity of input sections 102 is limited to the capacity of input buffers which reside within each of input sections 102. Several output sections 104, serve to accept and deliver data from switching fabric 106 to a destination node external to switch 100. Data throughput within switch 100 and particularly through switching fabric 106 is typically much higher than the rate at which data actually arrives at or is delivered from switch 100. Therefore, a queueing method must be employed within packet switches such as switch 100. Such a queueing method may be referred to as “buffering” and will be so referred hereinbelow. Buffering requires both buffers (i.e. data storage elements) and buffer control. Buffer control provides supervision within the switch as to which buffers will release a unit of data from a buffer at any given time.
Packet switches such as switch 100 typically include buffering implemented in input sections 102, output sections 104, and switching fabric 106. In packet switches characterized as “output queuing” packet switches, the majority of buffering capacity resides in the output sections. The buffering capacity in switching fabric and input sections are limited to handling congestion in switching fabric output ports (SFOPs) such as SFOPs 108. The SFOP congestion typically occurs when a large number of switching fabric input ports (SFIPs), such as SFIPs 110, are sending packets to a particular SFOP. If overloaded, the output section will respond by delivering a backpressure signal to the switching fabric. This backpressure signal reports the congested condition in the output section and instructs the switching fabric to stop sending packets to the affected output section. The result is an accumulation of packets in the switching fabric itself.
The SFOP congestion first results in queue buildup within switching fabric 106. However, if switching fabric buffers are in danger of overflow, switching fabric 106 applies backpressure to input sections 102 by delivering a backpressure signal to input sections 102. The backpressure signal from switching fabric 106 may be one of two types: (1) individual SFOP congestion backpressure—an SFOP gets congested and queued packets reach a pre-defined threshold; or, (2) master switching fabric congestion backpressure—the total buffer space of the switching fabric is congested (i.e. total packets queued reach a given threshold). The reaction of the input section to receiving a backpressure signal from the switching fabric will depend on the type of signal sent. When an individual SFOP backpressure signal is applied, the input section will stop sending packets to that SFOP. The input section will continue to send packets to SFOPs that are not applying individual SFOP backpressure. When a master SFOP backpressure signal is applied, the input section stops sending any packets to the switching fabric. When the input section buffering capacity becomes completely consumed, the only option available may be to discard packets.
One possible alternative approach of addressing the problem of overloaded input queues involves embedding input buffer occupancy feedback into flow control methods. In this manner, an input section provides information to upstream network nodes regarding its current buffer occupancy level and how the flow rate should be adjusted. However, due to the rapidly increasing size and complexity of packet switched networks, this approach would require global knowledge that would be very difficult to acquire.
It can therefore be appreciated that a need exists for a method and system for monitoring input buffer occupancy levels in a packet switch and utilizing this information to avoid congestion within input buffers.